package cn.lili.modules.goods_auth.service;

import cn.lili.modules.system.entity.dos.LiAuth;
import cn.lili.modules.system.entity.dto.GoodsAuthSearchParams;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 后台商品授权管理接口
 * */
public interface GoodsAuthService extends IService<LiAuth> {

    /**
     * 授权分页查询
     *
     * @param searchParams 查询条件
     * @return 返回结果
     * */
    Page<LiAuth> authPage(GoodsAuthSearchParams searchParams);

    /**
     * 授权分页列表
     *
     * @return 返回结果
     * */
    List<LiAuth> getList();

    /**
     * 生成APPID，私钥，公钥
     *
     * @return 返回结果
     * */
    LiAuth generateAppid();

    /**
     * 添加授权
     * @param liAuth 授权对象
     * @return 返回结果
     * */
    Boolean addLiAuth(LiAuth liAuth);

    /**
     * 修改授权
     * @param liAuth 授权对象
     * @return 返回结果
     * */
    Boolean updateAuth(LiAuth liAuth);

    /**
     * 冻结授权
     * @param id 授权ID
     * @return 返回结果
     * */
    Boolean freeze(String id);

    /**
     * 解冻授权
     * @param id 授权ID
     * @return 返回结果
     * */
    Boolean unFreeze(String id);

    /**
     * 根据 appid 获取授权配置信息
     *
     * @param appid 应用 ID
     * @return 授权配置信息
     */
    LiAuth getLiAuthByAppid(String appid);
}
